home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Programming / SecalDemo / Inc / devices / trackdisk.inc < prev   
Text File  |  1998-06-24  |  3KB  |  129 lines

  1. include "inc/exec/io.inc";
  2. include "inc/exec/devices.inc";
  3.  
  4. def NUMCYLS = 80;
  5. def MAXCYLS = (NUMCYLS+20);
  6. def NUMHEADS = 2;
  7. def NUMTRACKS = (NUMCYLS*NUMHEADS);
  8.  
  9. def NUMSECS = 11;
  10. def NUMUNITS = 4;
  11.  
  12. def TD_SECTOR = 512;
  13. def TD_SECSHIFT = 9;
  14.  
  15. def TD_NAME = "trackdisk.device";
  16.  
  17. def TDF_EXTCOM = (1<<15);
  18.  
  19. def TD_MOTOR = (CMD_NONSTD+0);
  20. def TD_SEEK = (CMD_NONSTD+1);
  21. def TD_FORMAT = (CMD_NONSTD+2);
  22. def TD_REMOVE = (CMD_NONSTD+3);
  23. def TD_CHANGENUM = (CMD_NONSTD+4);
  24. def TD_CHANGESTATE = (CMD_NONSTD+5);
  25. def TD_PROTSTATUS = (CMD_NONSTD+6);
  26. def TD_RAWREAD = (CMD_NONSTD+7);
  27. def TD_RAWWRITE = (CMD_NONSTD+8);
  28. def TD_GETDRIVETYPE = (CMD_NONSTD+9);
  29. def TD_GETNUMTRACKS = (CMD_NONSTD+10);
  30. def TD_ADDCHANGEINT = (CMD_NONSTD+11);
  31. def TD_REMCHANGEINT = (CMD_NONSTD+12);
  32. def TD_GETGEOMETRY = (CMD_NONSTD+13);
  33. def TD_EJECT = (CMD_NONSTD+14);
  34. def TD_LASTCOMM = (CMD_NONSTD+15);
  35.  
  36. def ETD_WRITE = (CMD_WRITE|TDF_EXTCOM);
  37. def ETD_READ = (CMD_READ|TDF_EXTCOM);
  38. def ETD_MOTOR = (TD_MOTOR|TDF_EXTCOM);
  39. def ETD_SEEK = (TD_SEEK|TDF_EXTCOM);
  40. def ETD_FORMAT = (TD_FORMAT|TDF_EXTCOM);
  41. def ETD_UPDATE = (CMD_UPDATE|TDF_EXTCOM);
  42. def ETD_CLEAR = (CMD_CLEAR|TDF_EXTCOM);
  43. def ETD_RAWREAD = (TD_RAWREAD|TDF_EXTCOM);
  44. def ETD_RAWWRITE = (TD_RAWWRITE|TDF_EXTCOM);
  45.  
  46. struct IOExtTD is
  47.   iotd_Req:IOStdReq;
  48.   iotd_Count:ulong;
  49.   iotd_SecLabel:ulong;
  50. ;
  51.  
  52. struct DriveGeometry is
  53.   dg_SectorSize:ulong;
  54.   dg_TotalSectors:ulong;
  55.   dg_Cylinders:ulong;
  56.   dg_CylSectors:ulong;
  57.   dg_Heads:ulong;
  58.   dg_TrackSectors:ulong;
  59.   dg_BufMemType:ulong;
  60.   dg_DeviceType:ubyte;
  61.   dg_Flags:ubyte;
  62.   dg_Reserved:uword;
  63. ;
  64.  
  65. def DG_DIRECT_ACCESS = 0;
  66. def DG_SEQUENTIAL_ACCESS = 1;
  67. def DG_PRINTER = 2;
  68. def DG_PROCESSOR = 3;
  69. def DG_WORM = 4;
  70. def DG_CDROM = 5;
  71. def DG_SCANNER = 6;
  72. def DG_OPTICAL_DISK = 7;
  73. def DG_MEDIUM_CHANGER = 8;
  74. def DG_COMMUNICATION = 9;
  75. def DG_UNKNOWN = 31;
  76.  
  77. def DGB_REMOVABLE = 0;
  78. def DGF_REMOVABLE = 1;
  79.  
  80. def IOTDB_INDEXSYNC = 4;
  81. def IOTDF_INDEXSYNC = (1<<4);
  82.  
  83. def IOTDB_WORDSYNC = 5;
  84. def IOTDF_WORDSYNC = (1<<5);
  85.  
  86. def TD_LABELSIZE = 16;
  87.  
  88. def TDB_ALLOW_NON_3_5 = 0;
  89. def TDF_ALLOW_NON_3_5 = (1<<0);
  90.  
  91. def DRIVE3_5 = 1;
  92. def DRIVE5_25 = 2;
  93. def DRIVE3_5_150RPM = 3;
  94.  
  95. def TDERR_NotSpecified = 20;
  96. def TDERR_NoSecHdr = 21;
  97. def TDERR_BadSecPreamble = 22;
  98. def TDERR_BadSecID = 23;
  99. def TDERR_BadHdrSum = 24;
  100. def TDERR_BadSecSum = 25;
  101. def TDERR_TooFewSecs = 26;
  102. def TDERR_BadSecHdr = 27;
  103. def TDERR_WriteProt = 28;
  104. def TDERR_DiskChanged = 29;
  105. def TDERR_SeekError = 30;
  106. def TDERR_NoMem = 31;
  107. def TDERR_BadUnitNum = 32;
  108. def TDERR_BadDriveType = 33;
  109. def TDERR_DriveInUse = 34;
  110. def TDERR_PostReset = 35;
  111.  
  112. struct TDU_PublicUnit is
  113.   tdu_Unit:Unit;
  114.   tdu_Comp01Track:uword;
  115.   tdu_Comp10Track:uword;
  116.   tdu_Comp11Track:uword;
  117.   tdu_StepDelay:ulong;
  118.   tdu_SettleDelay:ulong;
  119.   tdu_RetryCnt:ubyte;
  120.   tdu_PubFlags:ubyte;
  121.   tdu_CurrTrk:uword;
  122.   tdu_CalibrateDelay:ulong;
  123.   tdu_Counter:ulong;
  124. ;
  125.  
  126. def TDPB_NOCLICK = 0;
  127. def TDPF_NOCLICK = (1<<0);
  128.  
  129.